在使用 React Native 的此時此刻,我們就已經站在巨人的肩膀上了。不過有時候官方並不一定有提供所有需要的功能,基於我們不該有勇無謀的重造輪子,這時在社群尋找適合需求的高品質套件是首選,但找尋並評估套件是否適合也是門學問,還必須了解到不同模組的不同安裝方式。
npm 現在已經有超過三千個 React Native 相關的套件:
用 react-native
加上 keyword 在 npm 上來做搜尋通常是最直接有效的方式,而在在大多數狀況上 react-native-<keyword>
可能恰巧就是你想要的。(如果沒有也是個好機會,不如自己跳下來做一個?)
Yarn 現在也有提供不錯的套件查詢介面:
如果想要一覽高品質的套件再從其中找尋可用的,那從 Awesome React Native 裡面去找也是個不錯的方式。
這邊推薦大家安裝 Awesome stars 這個 Chrome Extension,就可以在 Awesome Repo 上面直接看到各 Repo 的 Star 數:
下面幾個都是在評估套件時很有用的指標:
作者或是所屬的組織也都能帶來一定的可信度,例如:Exponent、React Native Community 都是優質且專注在 React Native 的組織。
另外,稍微注意一下 License 也是專業開發者的一個好習慣,商用的專案應該盡量避免 GPL License 而選擇 MIT、BSD、Apache License 的模組來使用。
顧名思義是完全用 JavaScript 打造的模組,其安裝方式也不該跟在 Node 上有什麼區別,直接使用 npm 來安裝:
$ npm i --save <library>
當然,我現在更喜歡使用 Yarn 來安裝:
$ yarn add <library>
然後在程式碼直接 import
:
import Library, { NamedComponent } from 'library';
就可以隨意地去使用套件提供的 API 了。
JavaScript 可以實現的功能其實很大一步受限於 React Native 實作並開放給使用者的 API,在核心沒有實作的情況下,熟悉 iOS、Android 的開發者可以自己去橋接原生的 API,這部分有些功能也可能在未來的版本被 React Native 給納入核心。
安裝時一樣是先用套件管理去安裝:
$ npm i --save <library-with-native-dependencies>
或是
$ yarn add <library-with-native-dependencies>
再來要用 react-native
下 link
指令:
$ react-native link
例如,要安裝 react-native-linear-gradient
這個套件的話,我們必須執行:
$ yarn add react-native-linear-gradient
$ react-native link
以前必須手動打開 Xcode 來 Link Library 非常麻煩,由於 Alexey Kureev 和 Mike Grabowski 一起開發的 rnpm 被整合進 React Native,這個步驟已經可以省略非常之多!
更詳細的教學或是手動 Link 的步驟可以參閱官方文件。
React Native 的模組開發者有很多是 JavaScript、Objective-C、Java 三棲的神人,以前總以為這樣的人非常稀少 (至少筆者不是),但看起來比想像中的多。而且需求總是一切開發的根源,React Native 的需求蒸蒸日上,一定會有更多更多的開發者一頭栽進來,讓其它的人能輕易的找到想要的模組。